/****************************************************
 * 
 * home soft 版权所有.
 * 
 *****************************************************/

package com.homesoft.runtime.metadata.modle;

/**
 * @author lihg
 * @data 2012-9-15
 */
public interface IExtendDataList {
	/**
	 * 删除
	 * 
	 * @param key
	 */
	void RemoveByKey(String key);

	/**
	 * 获取给定Key的扩展属性的值
	 * 
	 * @param key
	 * @return
	 */
	String GetValue(String key);

	/**
	 * 设置给定Key的扩展属性值
	 * 
	 * @param key
	 * @param value
	 */
	void SetValue(String key, String value);

	/**
	 * 初始化
	 * @param list
	 */
	void Assign(IExtendDataList list);

	/**
	 * 改变值
	 * @param item
	 * @param newKey
	 * @return
	 */
	boolean ChangeItemKey(IExtendDataItem item, String newKey);

	/**
	 * 是否包含指定key和value的扩展数据
	 * 
	 * @param key
	 * @param value
	 * @return
	 */
	boolean HasExtendData(String key, String value);

	/**
	 * 是否包含指定key
	 * 
	 * @param key
	 * @return
	 */
	boolean HasExtendData(String key);

	/**
	 * 获取boolean类型的值。
	 * 
	 * @param key
	 * @param defaultValue
	 * @return
	 */
	boolean GetBoolean(String key, boolean defaultValue);
}
